11 research outputs found

    Constraint Solving over Multiple Similarity Relations

    Get PDF
    Similarity relations are reflexive, symmetric, and transitive fuzzy relations. They help to make approximate inferences, replacing the notion of equality. Similarity-based unification has been quite intensively investigated, as a core computational method for approximate reasoning and declarative programming. In this paper we consider solving constraints over several similarity relations, instead of a single one. Multiple similarities pose challenges to constraint solving, since we can not rely on the transitivity property anymore. Existing methods for unification with fuzzy proximity relations (reflexive, symmetric, non-transitive relations) do not provide a solution that would adequately reflect particularities of dealing with multiple similarities. To address this problem, we develop a constraint solving algorithm for multiple similarity relations, prove its termination, soundness, and completeness properties, and discuss applications

    Regular matching problems for infinite trees

    Full text link
    We investigate regular matching problems. The classical reference is Conway's textbook "Regular algebra and finite machines". Some of his results can be stated as follows. Let L(ΣX)L\subseteq(\Sigma\cup X)^* and RΣR\subseteq\Sigma^* be regular languages where Σ\Sigma is a set of constants and XX is a set of variables. Substituting every xXx\in X by a regular subset σ(x)\sigma(x) of Σ\Sigma^* yields a regular set σ(L)Σ\sigma(L)\subseteq\Sigma^*. A substitution σ\sigma solves a matching problem "LRL\subseteq R?" if σ(L)R\sigma(L)\subseteq R. There are finitely many maximal solutions σ\sigma; they are effectively computable and σ(x)\sigma(x) is regular for all xXx\in X; and every solution is included in a maximal one. Also, in the case of words "σ:σ(L)=R\exists\sigma:\sigma(L)=R?" is decidable. Apart from the last property, we generalize these results to infinite trees. We define a notion of choice function γ\gamma which for any tree ss over ΣX\Sigma\cup X and position uu of a variable xx selects at most one tree γ(u)σ(x)\gamma(u)\in\sigma(x); next, we define γ(s)\gamma_\infty(s) as the limit of a Cauchy sequence; and the union over all γ(s)\gamma_\infty(s) yields σ(s)\sigma(s). Since our definition coincides with that for IO substitutions, we write σio(L)\sigma_{io}(L) instead of σ(L)\sigma(L). Our main result is the decidability of "σ:σio(L)R\exists\sigma:\sigma_{io}(L)\subseteq R?" if RR is regular and LL belongs to a class of tree languages closed under intersection with regular sets. Such a special case pops up if LL is context-free. Note that "σ:σio(L)=R\exists\sigma:\sigma_{io}(L)=R?" is undecidable, in general in that case. However, the decidability of "σ:σio(L)=R\exists\sigma:\sigma_{io}(L)=R?" if both LL and RR are regular remains open because, in contrast to word languages, the homomorphic image of a regular tree language is not always regular if σ(x)\sigma(x) is regular for all xXx\in X.Comment: 18 pages. This replacement eliminates a false claim from the previous arXiv version of this paper: Item 4 of Theorem 1 did not hold for # = {=

    Strategies in PRholog

    Full text link
    PRholog is an experimental extension of logic programming with strategic conditional transformation rules, combining Prolog with Rholog calculus. The rules perform nondeterministic transformations on hedges. Queries may have several results that can be explored on backtracking. Strategies provide a control on rule applications in a declarative way. With strategy combinators, the user can construct more complex strategies from simpler ones. Matching with four different kinds of variables provides a flexible mechanism of selecting (sub)terms during execution. We give an overview on programming with strategies in PRholog and demonstrate how rewriting strategies can be expressed

    P-rho-Log: Combining Logic Programming with Conditional Transformation Systems

    No full text
    P-rho-Log extends Prolog by conditional transformations that are controlled by strategies. We give a brief overview of the tool and illustrate its capabilities
    corecore